Calculations for admission control

ABSTRACT

The present invention relates to on-line admission-control decisions. Specifically, the invention concerns general delay bounds for both deterministic and statistical cases for Differentiated Services (DiffServ) networks. More specifically, a detailed method of calculation in each case is followed by simpler methods of calculation that are more appropriate for on-line admission-control decisions. Relatively involved occupancy bound calculations for various service classes take place only at the time of network configuration or reconfiguration. At the time of admission control only simple occupancy threshold compliance calculations need to be performed. Concrete illustrations are provided for deriving bounds for the EF and AF classes provided by DiffServ. These results are applicable to both layer-3 networks that support DiffServ and layer-2 networks that support the more restricted class of service functions.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of the filing date of U.S.Provisional Patent Application No. 60/650,272, filed Feb. 4, 2005, thedisclosure of which is hereby incorporated herein by reference.

GOVERNMENT LICENSE RIGHTS

This invention was made with Government support under contractNBCHC030132 awarded by DARPA. The Government may have certain rights inthis invention.

FIELD OF THE INVENTION

The present invention relates to on-line admission-control decisions.Specifically, the invention concerns general delay bounds for bothdeterministic and statistical cases for Differentiated Services(DiffServ) networks. More specifically, a detailed method of calculationin each case is followed by simpler methods of calculation that are moreappropriate for on-line admission-control decisions. Relatively involvedoccupancy bound calculations for various service classes take place onlyat the time of network configuration or reconfiguration. At the time ofadmission control only simple occupancy threshold compliancecalculations need to be performed.

BACKGROUND OF THE INVENTION

The seminal work of Parekh and Gallager, entitled “A GeneralizedProcessor Sharing Approach to Flow Control in Integrated ServicesNetworks, The multiple node case”, EEEE/ACM Trans. Networking, vol. 2-2,pages 137-150, April 1994, has shown that it is possible to provideQuality of service (QoS) guarantees in an Internet Protocol (IP)network. Their techniques require certain fundamental additions to thenetworking infrastructure, including (1) admission control, (2) markingof admitted traffic so that the network routers and switches canassociate it with an admitted flow, (3) policing of admitted traffic tomake sure that it does not exceed its promised demand on networkresources, and (4) managing and queuing traffic from admitted flows incertain ways in the core of the network to ensure that the servicepromised to admitted flows is not compromised by congestion in otherportions of the network.

The initial QoS solution for IP networks, Integrated Services (IntServ),was directly inspired by the work of Parekh and Gallager, supra. Thatapproach requires that network elements provide separate queuing foreach admitted flow and entails the maintenance of per-flow state in eachnetwork element. IntServ approaches also tend to make admissiondecisions locally, rather than based on a network-wide policy.

Differentiated Services (DiffServ) is an approach to providing QoS toaggregate flows. It may provide satisfactory QoS without needingper-flow state in each network element. Additionally, in conjunctionwith a Bandwidth Broker for admission control, the DiffServ-basedapproach can support admission control that is driven by network-widepolicies. Our delay bound techniques are readily applicable to layer-2networks that support class of service (CoS), as CoS and DiffServprovide similar differentiated aggregate flow traffic treatment.

DiffServ uses aggregate flows in the sense that multiple flows share thesame queue in the network core. Additional analysis is needed to boundthe impact of aggregation of flows. Providing-end-to-end QoS requiresthe presence of individual network elements that have sufficientlystrong QoS behavior, together with an analysis of network-wideaccumulation of traffic bursts.

The analysis for aggregated flows relies on approaches where it is knownthat in the absence of bounds on the total number of network elementsand on the maximum path length, it is possible to construct pathologicalscenarios in which no delay bound can be met. Fortunately, there aremany situations where bounded delay can be achieved. These includenetworks where there is a known bound on the maximum number of hopstaken by any flow. Many important networks, such as enterprise networksor networks confined to a ship or other vehicle are of bounded size andhence have a determinable upper bound on the number of hops taken by anyflow.

Within a bounded network, there may be a small fraction of traffic thatis so time-fragile that deterministic bounds on delay are important, amuch larger fraction of less fragile, but still time-sensitive trafficfor which approximate, probabilistic QoS is sufficient, and an evenlarger fraction for which best-effort delivery is completelysatisfactory. To support this scenario of differentiated servicerequirements, without resorting to separate queues for individual flows,the network core would treat packets according to an aggregateclassification. To respect the requirements of a more sensitiveaggregate, the treatment could be one based on a strict priority, or itcould be based on weighted sharing discipline. In any case, admissionsneed to be controlled appropriately while accounting correctly for thetreatment of the aggregates.

Motivated by this scenario, the admission calculations in the presentinvention address this need within a general framework of any number ofpriority classes and, within each priority class, any number ofweighted-share sub-classes.

SUMMARY OF THE INVENTION

Each session is imagined as beginning with an admission request thatprovides enough information to determine the session's servicerequirements and some features of the session's traffic, such aspolicing or shaping parameters (σ, ρ) bounding bursts and rates, withthe meaning that the amount of that session's traffic entering thenetwork during any interval of duration t will never exceed σ+ρt. Ingeneral, admission decisions are combined with routing decisions, butthe following description will be phrased as if an admission decision isto be determined for a given session over a given route.

For the most efficient use of the network's resources that serve thetraffic directly, the admission decision should be based on predictionsof service quality that are as accurate as possible. Yet, because of theneed not to delay these decisions too greatly, accuracy must besacrificed, and the corresponding calculations are basically splitbetween relatively complicated off-line determinations of suitablethresholds and, during the admission decisions themselves, relativelysimple on-line comparisons of these thresholds with elementarycombinations of traffic descriptions. Naturally, the off-linecalculations must ensure that the thresholds are chosen so that servicequality is assured as long as the admission decisions respect thethresholds. Of course, in this case, the loss of accuracy, that iscreated by the introduction of these thresholds, takes the form of lossof network efficiency: more admission requests are denied.

Different sorts of calculations arise for dealing with deterministicworst-case service requirements and for dealing with more statisticalrequirements. Naturally, the deterministic version concerns a guaranteeabout actual delays (GAD). To avoid impractical complexities, however,the statistical version is neither a guarantee about actual statistics(GAS), which would just be a more complicated worst-case guarantee, nora guarantee about actual statistical expectations (GASE), which wouldrequire complex calculations of the implications of multitudes of casesbeyond just the worst case. Instead, the statistical version describedbelow is merely a guarantee about certain estimates of statisticalexpectations (GESE), where the estimates do include some pessimisticfeatures in the conservative direction to take serious account of thetraffic fluctuations that are possible.

The primary advance made by the present invention both for GAD and GESEis that the novel formulation is set in a more general contextsupporting any number of priority classes and within each priority classany number of weighted-fair queuing service classes. The schemeexplicitly takes into account all the individual traffic streams thatare presently in progress from all classes together with the streamwhose admission is being considered. The main technique used in anearlier work to increase utilization bounds is one of dividing a classinto several subclasses, each subclass supporting traffic with differentdeadline values in place of a single more stringent deadline for theentire class. However, implementation of multiple priorities in a singleclass is not readily realizable in commercial routers and switches.

Calculations according to the present invention for GESEs may becompared with earlier work. In comparison with those earlier works thatcome closest to ours, our calculations take more seriously thefluctuations that can arise while conforming to traffic descriptors.Thus, to deal with the possible fluctuations in the arrivals over aparticular interval from independent streams of an aggregate, thepresent analysis relies on exponential moments for certain on-offdistributions for the individual streams, where the on-off distributionfor a given stream is the one that maximizes the exponential moments,among all distributions that respect the given bounds on the peak andthe mean for the given stream in the given interval. In contrast, theprior art analysis, that comes closest to ours, relies on Gaussianapproximations, where, for each stream, the corresponding variance istaken from the distribution that maximizes the entropy, among thedistributions matching the given peak and mean. First, of course, theuse of Gaussian approximations is more hopeful than conservative. Yet, amore disquieting concern is that these maximum-entropy variances are allsmaller than the variances of other distributions that are consistentwith the given peaks and means. In more detail, the maximum-entropydistribution is continuous, so it is not an on-off distribution, and theon-off distribution is the one that maximizes the variance. In thissense, the prior analysis is less serious about the fluctuations thatcan possibly arise.

FIG. 1 is a flow diagram illustrating operations performed at a devicein accordance with a representative embodiment.

FIG. 2 is a flow diagram illustrating operations performed at a devicein accordance with a representative embodiment.

DETAILED DESCRIPTION

In the following description, a network is imagined as serving sessionsthat can be partitioned into a few priority classes, which, in turn, canbe partitioned into a few weighted fair queuing (WFQ) sub-classes. Forinstance, the priorities might be high, medium, and low, with highpriority intended for real-time applications that could require adeterministic guarantee on delay, with low priority being basicallybest-effort service that requires no guarantee at all, and with mediumpriority intended for non-real-time applications that still require somekind of guarantee, such as a statistical guarantee. In this instance,the high-priority packets would have absolute, though non-pre-emptive,priority over the packets of the lower-priority classes, while themedium-priority packets would have absolute priority over low-prioritypackets. Moreover, continuing with this instance, the medium-priorityapplications are imagined as being partitioned into WFQ sub-classes ortypes, with each type getting a guaranteed fraction of themedium-priority effort of any congested resource, typically a link. Moregenerally and abstractly, let L be the set of links in a network, where,for this description, the links are imagined as being the only networkresources that could ever become congested and create queuing delays.For each link lεL, let C(l) be the capacity or service rate of the link.In addition, for the link l, it is convenient to introduce the notion ofan effective propagation delay for the various packets traversing thelink l, that represents the time between a packet ending itstransmission onto the source end of link l and the same packet arrivingat the queue for the next link on its route. So this time can vary frompacket to packet, as the different packets deal with quirks inoperating-system latencies at the next node. The purpose of includingthese latencies into the effective propagation delays is because thevariations in these latencies are practically independent of thetraffic, and they turn out to have the same effect on the analysis.Accordingly, let Δ(l) be the minimum possible value for the effectivepropagation delay of link l, and let J(l), the “jitter”, be thedifference between the maximum and minimum possible values for theeffective propagation delay of link l. Incidentally, the importance ofdistinguishing the portion J(l) of the bound Δ(l)+J(l) on the effectivepropagation time of link l is that J(l), unlike Δ(l), can contribute toincreasing the sizes of bursts in streams traversing l. In addition, letM be the maximum size of a packet.

Let K be the set of priority classes. This set of priority classes istotally ordered, with each packet of one class having absoluteservice-order priority over packets of lower classes. For each classkεK, let T_(k) be the set of service types within class k. Reflectingthe fact that a given service type belongs to just one priority class,the sets T_(k) are disjoint. Within class k, the packets of thedifferent types in T_(k) are served according to a WFQ allocation of theclass-k effort at any link. For each link lεL, for each type τεT_(k),let w(τ, l) be the weight that type τ gets at link l, so that the sametype can get different weights at different links (which makes sensewhen different links could be handling different mixtures of the sametraffic types). Here, the weights are taken to be normalized, so that

${\sum\limits_{\tau \in T_{k}}{w\left( {\tau,l} \right)}} = 1$for any kεK and any lεL. For each type τεT_(k), let S_(τ) be the set oftraffic streams of type τ that are imagined as being in progress for thepurpose of an admission-control decision (so these streams include thesession requesting admission, as well as the sessions that are reallyalready in progress). Reflecting the fact that a given stream belongs tojust one service type, the sets S_(τ) are disjoint. For each streamsεS_(τ), let H(s) be the number of hops in the route of s, and for any jwith 0≦j<H(s), let λ(j,s) be the j-th link on the route of s. Also, letσ_(s) and ρ_(s) be the burst and rate shaping parameters that bound thetraffic of stream s, at its entry into the network, i.e. as it arrivesto queue at link λ(0,s).

Given this information about the network's configuration and traffic,the task for the calculations is to determine whether each session'sservice requirement is met.

The following are two calculation schemes that could be used, inprinciple, by an admission-control procedure to support a GAD (guaranteeabout actual delay). The first scheme is closely related to earlierwork, though the earlier work deals with an abstract rate function whoseidentification for a service type at a low priority class implicitlyrequires some preliminary calculations for the performance of higherpriority classes. Here, however, the relevant calculations forclass-dependent performance are given explicitly, except that noreference is ever actually made to any abstract rate function. In anycase, one of the calculation schemes being presented here takes explicitaccount of all the individual traffic streams that are presently inprogress, together with the stream whose admission is being considered,though the complexity of the scheme renders it impractical for on-lineadmission control. A second scheme is obtained from the first by theintroduction of thresholds, such as occupancy thresholds, where the ideais that most of the calculations are to be done off-line to identify thethresholds, so that only simple comparisons with thresholds need to bedone on-line during admission control.

The next step is to try to identify several kinds of suitable bounds.For any stream s, for any j<H(s), one of the desired quantities is avalue σ_(s,j) that can be used as a bound on the burstiness of stream sas it arrives at the queue for link λ(j,s). Naturally, for j=0,σ_(s,0)=σ_(s) is a suitable choice, but for larger values of j, someaccount must be taken for the possibility of stream s having acquiredadditional burstiness in traversing the hops leading up to hop j fromthe point at which stream s entered the network. Next, for any type τ ofstream, and for any link lεL, the other desired quantity is a valueD_(τ)(l) that can be used as a bound on the queuing delay that a type-τpacket could encounter at link l. Intuitively, one can understand howpotential delays along the early hops taken by a stream can increase theburstiness of the stream as it arrives at later hops, and one canunderstand how the burstiness of the streams arriving at a link canincrease the queuing delays at that link. Next is formalization of theseintuitions into relations for governing suitable choices for thequantities σ_(s,j) and D_(τ)(l).

The easier intuition to formalize is the one relating to a stream'sburstiness increasing as it traverses more hops. Thus, consider a streams of type τ, and consider some hop j<H(s). Let l=λ(j,s), the link beingtraversed by stream s at hop j. Suppose that σ_(s,j) bounds theburstiness of stream s as it enters the queue for link l, and supposethat D_(τ)(l) is a bound on the queuing delay that a type-τ packet canencounter at link l. To see how bursty stream s can be as it leaves linkl, suppose that one packet of stream s is delayed in queue by themaximal amount D_(τ)(l) and also encounters the maximal jitter J(l),while a later packet encounters neither queuing nor jitter delay at l.Comparing the interval separating the packets upon entering the queuewith the interval after exiting the influence of the link, one findsthat the latter interval is shorter than the former by D_(τ)(l)+J(l),which translates into a potential increase in burstiness ofρ_(s)(D_(τ)(l)+J(l)).

Thus,σ_(s,j+1)=σ_(s,j)+ρ_(s)(D _(τ)(λ(j,s))+J(λ(j,s)))   (1)is a suitable formalization of the intuition of how variable delays canincrease burstiness.

The intuition of how bursts contribute to delays is much more difficultto formalize in the case of multiple types and classes of traffic,because of various complications. One complication is that a packet atone priority class can be delayed by later arrivals at higherpriorities. The delay can even be from later arrivals at the samepriority, if these arrivals belong to competing WFQ types. Finally, thefact, that traffic comes in discrete packets, rather than in continuousfluid, adds two more complications, one complication being in the merelyapproximate success of WFQ in isolating delays to one service type fromthe effects of traffic bursts in other service types, and the othercomplication being that a high-priority packet can be delayed by alow-priority packet that begins its transmission just before thehigh-priority packet arrives. Eventually, a formula, that expresses howbursts contribute to delays, must account for all of thesecomplications.

To begin to express these complications quantitatively, it helps firstto identify aggregate rate and burst bounds, based on bounds for theindividual streams. Thus, for any service type τ and any link l, let

${{\rho_{\tau}(l)} = {\sum\limits_{s \in S_{\tau}}{\sum\limits_{{{0 \leq j < {H{(s)}}}:{\lambda{({j,s})}}} = l}\rho_{s}}}},{and}$${\sigma_{\tau}(l)} = {\sum\limits_{s \in S_{\tau}}{\sum\limits_{{{0 \leq j < {H{(s)}}}:{\lambda{({j,s})}}} = l}{\sigma_{s,j}.}}}$

Then, for any priority class k, let

${{\rho_{> k}(l)} = {\sum\limits_{k^{\prime} \in {K:{k^{\prime} > k}}}{\sum\limits_{\tau^{\prime} \in T_{\kappa^{\prime}}}{\rho_{\tau^{\prime}}(l)}}}},{and}$${\sigma_{> k}(l)} = {\sum\limits_{k^{\prime} \in {K:{k^{\prime} > k}}}{\sum\limits_{\tau^{\prime} \in T_{k^{\prime}}}{{\sigma_{\tau^{\prime}}(l)}.}}}$Then the service rate available to priority class k isC_(k)(l)=C(l)−ρ_(>k)(l), which is strictly greater than zero, ifadmission control is doing its job. Of course, only the amountw(τ,l)C_(k)(l) is reliably available to a particular service typeτεT_(k).

For the subtler complications, it helps to identify correspondingindicators. First, for any priority class k, let l′_(k)=I (k is not thelowest priority), where, for any clause c, I(c) is the indicator ofclause c, which is 1 if c is true and 0 if c is false. This indicator isrelated to the subtle complication that even high-priority packets canexperience up to a packet's worth of delay from the influence of alow-priority packet at the start of a high-priority busy period, if thehigher-priority packets cannot preempt the lower-priority packet,provided that there is a lower priority class. Next, for any priorityclass k and any service type τεT_(k), let {tilde over(l)}_(τ)=I({τ}≠T_(k)). The corresponding subtle complication here isthat WFQ, as a discrete approximation to an idealized partition ofcontinuous service, can miss its target allocation by up to a packet'sworth, provided that there is more than one service type in the priorityclass. Combining all the considerations above, one finds that theintuition of how suitable choices for delay bounds can be derived fromsuitable burstiness bounds can be expressed as

$\begin{matrix}{{D_{\tau}(l)} = {\frac{{M\;\iota_{k}^{\prime}} + {\sigma_{> k}(l)}}{C_{k}(l)} + {\frac{{M\;{\overset{\sim}{\iota}}_{\tau}} + {\sigma_{\tau}(l)}}{{w\left( {\tau,l} \right)}{C_{k}(l)}}.}}} & (2)\end{matrix}$The intuitive relations between bursts and delays have now beenformalized in the relations (1) and (2). The problem with theserelations, however, is the circularity that they typically generate forthe dependencies among the quantities of interest. In other words, thereis typically no simple order in which one can first identify the valuesfor some “earlier” quantities and then use the relations successively toidentify values for the “later” quantities one step at a time. Instead,many of the identifications have to be made simultaneously.

The following description uses the relations identified previously toconstruct a scheme of calculations in terms of individual streams.Unfortunately, the scheme seems too complicated for on-line admissioncontrol, which is why the following description adds a modification interms of thresholds, so that on-line calculations can be simple. Thetask is to identify choices for the quantities σ_(s,j) and D_(τ)(l) thatsolve simultaneously the relations of the previous paragraphs, primarily(1) and (2).

To organize this kind of simultaneous solution, it helps first to usethe relations (1) to express all the burst bounds σ_(s,j) explicitly interms of the delay bounds D_(τ)(l). Thus, recalling that σ_(s,0)=σ_(s),one finds that, for any service type τ, for any stream sεS_(τ), for anyj<H(s),

$\begin{matrix}{\sigma_{s,j} = {\sigma_{s} + {\rho_{s}{\sum\limits_{0 \leq j^{\prime} < j}{\left\lbrack {{D_{\tau}\left( {\lambda\left( {j^{\prime},s} \right)} \right)} + {J\left( {\lambda\left( {j^{\prime},s} \right)} \right)}} \right\rbrack.}}}}} & (3)\end{matrix}$

The idea now is to use (3) to eliminate all the burst bounds σ_(s,j) infavor of the delay bounds D_(τ)(l). As a result, (2) is modified toexpress D_(τ)(l) in terms of other delay bounds D_(τ)(l′) for the sameservice type τ at other links l′, other delay bounds for higher priorityclasses, and still other influences that are independent of any delaybounds. So the delay bounds can indeed be identified in a manner that isat least partially ordered: the delay bounds for higher priorities canbe identified before any delay bounds for lower priorities areconsidered. Moreover, within a single priority class, the delay boundsfor the different service types can be identified independently.

In accordance with this procedure, the resulting modification of (2)takes the form

$\begin{matrix}{{{D_{\tau}(l)} = {{b_{\tau}(l)} + {\sum\limits_{{l'} \in L}\;{{\Gamma_{\tau}\left( {l,{l'}} \right)}{D_{\tau}\left( {l'} \right)}}}}},} & (4)\end{matrix}$where the quantities b_(τ)(l) capture the influence of intrinsic burstsand jitters, as well as delay bounds for higher priorities, whileΓ_(τ)(l,l′) captures the influence of D_(τ)(l′) on D_(τ)(l). Explicitly,these quantities are given by

${{b_{\tau}(l)} = {\frac{{M\;\iota_{k}^{\prime}} + {\sigma_{> k}(l)}}{C_{k}(l)} + \frac{{M\;{\overset{\sim}{\iota}}_{\tau}} + {\sigma_{\tau}^{J}(l)}}{{w\left( {\tau,l} \right)}{C_{k}(l)}}}},{where}$${\sigma_{\tau}^{J} = {{\sum\limits_{s \in S_{\tau}}{\sum\limits_{{{0 \leq j < {H{(s)}}}:{\lambda{({j,s})}}} = l}\sigma_{s}}} + {\sum\limits_{s \in S_{\tau}}{\sum\limits_{{{0 \leq j^{\prime} < j < {H{(s)}}}:{\lambda{({j,s})}}} = l}{\rho_{s}{J\left( {\lambda\left( {j^{\prime},s} \right)} \right)}}}}}},{and}$${\Gamma_{\tau}\left( {l,l^{\prime}} \right)} = {\frac{\sum\limits_{s \in S_{\tau}}{\sum\limits_{0 \leq j^{\prime} < j < {H{(s)}}}{\rho_{s}{I\left( {{\lambda\left( {j^{\prime},s} \right)} = {{{l^{\prime}\&}\mspace{11mu}{\lambda\left( {j,s} \right)}} = l}} \right)}}}}{{w\left( {\tau,l} \right)}{C_{k}(l)}}.}$

The formulation (4) can be regarded as the matrix equationD _(τ) =b _(τ)+Γ_(τ) D _(τ),  (5)if D_(τ) and b_(τ) are regarded as column vectors with index set L, andif Γ_(τ) is regarded as a square matrix with index set L×L. Hence, ifthe matrix IεΓ_(τ) is invertible, where I here is the L×L identitymatrix, then the solution to (5) is D_(τ)=(I−Γ_(τ))⁻¹b_(τ). Yet,invertibility alone is insufficient for the solution to be meaningful,because, with all the entries of Γ_(τ) being non-negative, the equation(5) can be used to establish finite, positive bounds on delays only ifall the entries of the matrix (I−Γ_(τ))⁻¹ are also non-negative, whichturns out to be equivalent to the condition that the power series

$\sum\limits_{n = 0}^{\infty}\Gamma_{\tau}^{n}$converge to (I−Γ_(τ))⁻¹. That is, meaningful finite positive boundscannot be established in this way unless the relevant occupanciesentering the terms of Γ_(τ) are sufficiently small (though the preciseversion of the condition is, as was just noted, the convergence of thepower series).

Assuming that the desired bounds D_(τ)(l) on individual link delays areproduced, they are easily combined into bounds on end-to-end delays, atleast in a conceptual sense. Explicitly, for any individual session S oftype τ within priority class k, one can guarantee that the maximumend-to-end delay will not exceed

${D_{s} = {\sum\limits_{0 \leq j \leq {H{(s)}}}\left\lbrack {{D_{\tau}\left( {\lambda\left( {j,s} \right)} \right)} + {\Delta\left( {\lambda\left( {j,s} \right)} \right)} + {J\left( {\lambda\left( {j,s} \right)} \right)}} \right\rbrack}},$and the maximum end-to-end delay variation will not exceed

$D_{s}^{\prime} = {\sum\limits_{0 \leq j < {H{(s)}}}{\left\lbrack {{D_{\tau}\left( {\lambda\left( {j,s} \right)} \right)} + {J\left( {\lambda\left( {j,s} \right)} \right)}} \right\rbrack.}}$

Presumably, the criteria for satisfactory service to a stream s involvetolerances δ_(s) and δ′_(s) for maximal delays and delay variations.Accordingly, as long as the inequalities D_(s)≦δ_(s) and D′_(s)≦δ′_(s)are all satisfied, the calculations justify admitting all the streams.

As an alternative second scheme to the first scheme that was justdescribed, thresholds are introduced to allow for simple on-linecomparisons in making admission decisions, where the idea is that thecomplicated off-line calculations identifying the thresholds would bedone ahead of time.

Primarily, the thresholds considered here are occupancy thresholds, butthe scheme here also relies on a bound h on all the hop counts H(s) ofall the streams s that will ever be admitted, as well as bounds T_(τ) onthe burst times for the streams of type τ, with the meaning that, forany stream s of type τ that is ever admitted, σ_(s)≦ρ_(s)T_(τ). In astrict sense, the weights w(τ,l) are also thresholds that should betuned to optimize the admission of anticipated traffic, but the emphasishere is on the new thresholds that do not appear in the calculations ofthe first scheme that was described above. Accordingly, the emphasis ison the occupancy thresholds α_(k) where α_(k) can be regarded as theoccupancy allocated to priority class k, but its more precise meaning isthat, during an on-line admission decision for a stream s of type τ ofpriority class k, the stream s would be rejected if, for any link l onthe route of s, the admission of s would cause ρ_(τ)(l) to exceed α_(k)w(τ,l)C(l).

An implication of basing admission decisions on thresholds foraggregates rather than on the individual streams is that, once one hasto deal with a situation for a given link in which the streams routedthrough that link could have been routed almost arbitrarily throughother links in the network, it ceases to make much sense to try toidentify distinct delay bounds D_(τ)(l) for different links l. Instead,for a given service type τ, it is appropriate to identify just a singledelay bound D_(τ) that applies to all the links. An implication of thischange is that the modified version of the matrix equation (5) is ascalar equation.

The specific quantities, that enter the calculation of the delay bound(D_(τ)) for a service type τ at priority class k, are the following.First, for any priority class k′ higher than k, let D_(k′)=max_(τ′εT)_(R) D_(τ′), and T_(k′)=max_(τ′εT) _(R) T_(τ′).

Next, let

$\alpha_{> k} = {\sum\limits_{k^{\prime} \in K}{\alpha_{k^{\prime}}.}}$Next, introduce the “averages”

$D_{> k} = {\alpha_{> k}^{- 1}{\sum\limits_{k^{\prime} \in \;{K:{k^{\prime} > k}}}{\alpha_{k^{\prime}}D_{k^{\prime}}}}}$and$T_{> k} = {\alpha_{> k}^{- 1}{\sum\limits_{k^{\prime} \in \;{K:{k^{\prime} > k}}}{\alpha_{k^{\prime}}{T_{k^{\prime}}.}}}}$

Also, let J=max_(lεL)J(l). Finally, for each link lεL, let

${{\overset{\sim}{b}}_{\tau}(l)} = {{\frac{M}{{C(l)}\left( {1 - \alpha_{> k}} \right)}\left\lbrack {\iota_{k}^{\prime} + \frac{{\overset{\sim}{\iota}}_{\tau}}{w\left( {\tau,l} \right)}} \right\rbrack} + {\frac{\alpha_{> k}}{1 - \alpha_{> k}}\left\lbrack {{T_{> k} + \left. \left( {h - 1} \right)\left( {D_{\;{> \; k}} + \overset{\sim}{J}} \right) \right\rbrack + {\frac{\;\alpha_{\; k}}{\;{1\; - \;\alpha_{\;{> \; k}}}}\left\lbrack {T_{\;\tau} + {\left( {h - 1} \right)\overset{\sim}{J}}} \right\rbrack}},} \right.}}$and set

${\hat{b}}_{\tau} = {\max\limits_{l \in L}\mspace{14mu}{{{\overset{\sim}{b}}_{\tau}(l)}.}}$

These quantities now allow for an easy determination of the delay boundD_(τ), because the modified version of the matrix equation (5) is thescalar equation

$D_{\tau} = {{\hat{b}}_{\tau} + {\frac{\alpha_{k}\left( {h - 1} \right)}{1 - \alpha_{> k}}{D_{\tau}.}}}$

Thus, as long as α_(k)(h−1)/(1−α_(>k))<1, then the individual linkdelays for type-τ streams are all bounded by

$D_{\tau} = {\left\lbrack {1 - \frac{\alpha_{k}\left( {h - 1} \right)}{1 - \alpha_{> k}}} \right\rbrack^{- 1}{{\hat{b}}_{\tau}.}}$

Bounds on the end-to-end delays are then identified rather routinely.First, let

${\hat{\Delta} = {\max\limits_{s}{\sum\limits_{0 \leq j \leq {H{(s)}}}{\Delta\left( {\lambda\left( {j,s} \right)} \right)}}}},$where an assumption being made here is that the longest route is thesame for all service types. Then a bound on the longest end-to-end delayfor all type-τ streams is given by {circumflex over (D)}_(τ)={circumflexover (Δ)}+h(D_(τ)+ J), while a bound on the longest delay variation is{circumflex over (D)}′_(τ)=h(D_(τ)+ J). Accordingly, if there aretolerances δ_(τ) and τ′_(τ) on the maximal end-to-end delay and delayvariation for type-τ streams, then the point of the off-linecalculations is to select choices for the thresholds like α_(k) toensure that {circumflex over (D)}_(τ)≦δ_(τ) and {circumflex over(D)}′_(τ)≦δ′_(τ) for all service types τ.

The following illustrations deal with 4 service types in total,distributed among 3 priority classes: a high-priority ExpeditedForwarding (EF) type, two medium-priority Assured Forwarding (AF) types,AF0 and AF1, and a low-priority best-effort type that really has nodelay target. The service rate of each link will be taken to be C(l)=1Gb/s. The maximum packet size will be taken to be M=12,000 bits,corresponding to 1500 bytes. The bound on the number of hops in a routewill be taken to be h=10, so h−1=9. The bound on operating-systemjitters at each hop will be taken to be J=1 ms. The bound on thepropagation delay along the longest route in the network will be takento be {circumflex over (Δ)}=4 μs, corresponding to an image of a300-meter ship networked with fiber having an index of refraction of 2,but with sloppy enough wiring and routing to double the propagationsthat might otherwise be obtained. The burst times of the various servicetypes will be taken to be T_(EF)=2 ms, T_(AF0)=10 ms, and T_(AF1)=50 ms.As for the WFQ weights distinguishing the AF types, they will be takento be w(AF0,l)=0.6 and w(AF1,l)=0.4 at all links l. Finally, the targetdelays will be taken to be δ_(EF)=125 ms, δ_(AF0)=500 ms, and δ_(AF1)=1second.

The computations for the high-priority EF type are rather direct. First,in terms of milliseconds, {circumflex over (b)}_(EF)=11α_(EF)+0.024.Hence,

${D_{EF} = {\frac{{\hat{b}}_{EF}}{1 - {9\;\alpha_{EF}}} = \frac{{11\;\alpha_{EF}} + 0.024}{1 - {9\;\alpha_{EF}}}}},{so}$${\hat{D}}_{EF} = {{\hat{\Delta} + {h\left\lbrack {D_{EF} + \overset{\_}{J}} \right\rbrack}} = {10.004 + {\frac{{110\alpha_{EF}} + 0.24}{1 - {9\;\alpha_{EF}}}.}}}$

With α_(EF)=0.1, the result is {circumflex over (D)}_(EF)=122.404 ms,which does not exceed the target δ_(EF)=125 ms.

The computations for the AF types are similar, except for dealing withthe extra complication of dealing with the effects of thehigher-priority EF type. In particular, one must account for

${{1 - \alpha_{> {AF}}} = 0.9},{\frac{a_{> {AF}}}{1 - \alpha_{> {AF}}} = \frac{1}{9}},$and D_(EF)=11.24 ms. First, for each of the two AF types τ,

${\hat{b}}_{\tau} = {{\frac{0.12}{9}\left( {1 + \frac{1}{w(\tau)}} \right)} + 12.24 + \frac{2}{9} + {10\;{{\alpha_{AF}\left( {\frac{T_{\tau}}{9} + 1} \right)}.}}}$

Next, D_(τ)={circumflex over (b)}_(τ)/(1−10α_(AF)). Finally, {circumflexover (D)}_(τ)=10.004+10{circumflex over (b)}_(τ)/(1−10α_(AF)). Withα_(AF)=0.06, {circumflex over (D)}_(AF0)≈354 ms, while {circumflex over(D)}_(AF1)≈421 ms, which meet the service targets (and type AF1 evenmeets the target for AF0). Incidentally, notice that the choice ofα_(AF)=0.07 would violate the target for AF0.

Analogous with the previous discussion of the calculations for GADsthere will now be a similar discussion of calculations for GESEs(guarantees about estimates of statistical expectations). The aim hereis not to provide a guarantee on actual statistical expectations;instead, for the sake of practicality, the aim is merely to provide aguarantee for rough approximations to such statistical expectations.Before identifying the specific approximations entering the guarantee,however, the first step is to specify the service targets that will beconsidered. In particular, the calculations here will be developed onthe conception that for a stream s of service type τ, most of theend-to-end delays are to be bounded by some target δ_(τ), with sometolerance ε_(τ) for the fraction of packets with end-to-end delays aboveδ_(τ), where ε_(τ) might be on the order of 10⁻³. Now, for each streams, the maximum value, that can be attained by the effective end-to-endpropagation delay, is

${\overset{\_}{\Delta}}_{s} = {\sum\limits_{0 \leq j < {H{(s)}}}{\left\lbrack {{\Delta\left( {\lambda\left( {j,s} \right)} \right)} + {J\left( {\lambda\left( {j,s} \right)} \right)}} \right\rbrack.}}$

Thus, for a stream s of type τ, it makes sense to admit s only if Δ_(s)<δ_(τ), and then only if one expects that the end-to-end queuingdelay encountered by a packet of stream s to exceed {hacek over(δ)}_(s)=δ_(τ)− Δ _(s) with a probability no greater than ε_(τ). Thisformulation, of comparing ε_(τ) with an estimate of the probability fora queuing delay to exceed {hacek over (δ)}_(s), is basically the versionof the service target to be supported by the calculations to bedeveloped here.

The next step is to list the simplifying approximations to be made. Asone example of such a simplifying approximation, the analysis here willassume that the queue sizes at different links are independent. Anothersimplification is to assume that the different streams are independent,which is at least more reasonable, though perhaps not entirely accurate,if different streams turn out to support different aspects of a singleapplication e.g. voice and video channels of a single conversation. Inaddition, another simplifying approximation is to treat the trafficbeing generated by the different streams as forming, not justindependent stochastic processes, but stationary stochastic processes.Yet another aspect of the simplifying approach to be used in thisanalysis, is to employ the philosophy of large-deviations analysis inpaying attention only to the most likely ways of having bad thingshappen in the service of a stream, or, more formally, of estimating theprobability of a union as being roughly equal to the maximum of theindividual probabilities.

Another simplifying approximation, that will be made here, is to assumethat the burstiness of a stream's traffic as it arrives at one link onits route is the same as the burstiness at other links along the route.Indeed, it is the tracing of the potential increase in the burstiness ofa stream along the successive links of the route that creates most ofthe complexity in the worst-case analysis. So the analysis here willbasically ignore this complexity.

The simplifications listed above are all in the optimistic direction(i.e. they tend to underestimate the service-degrading possibilities ofthe real network), so the next simplifications will be in theconservative direction. One of these simplifications is to replaceprobabilities by certain exponential moments, where the simplificationoccurs if the probability has the form P(S>s), where s=Σ_(i)X_(i) is thesum of independent random variables X_(i) whose distributions arerelatively easy to manipulate. Formally, the relevant bound isP(S≧s)≦Ee^(p(S−s)) for any p≧0, which is valid because, whenever S≧s,1≦e^(p(S−s)), and whenever S<s, 0<e^(p(S−s)). Here, the simplificationis that P(S≧s) is typically very complicated to compute, whereas Ee^(pS)is simply the product of the Ee^(pX) ^(i) .

In the calculations for the GESE, X_(i) will often be the random amountof traffic being generated by a particular stream s during a particulartime interval of duration t, so the knowledge available about X_(i) willinclude certain bounds on X_(i), but will not include all the details ofthe distribution of X_(i). Basically, if the burst-rate pair (σ, ρ) isknown for the stream s, then the values of the random variable X_(i) areknown to be confined to the interval [0,σ+ρt]. Of course, if X_(i) istaken from a stationary process that is governed by the pair (σ,ρ), thenEX_(i)≦ρt. Now, regardless of the value of p>0, of all the distributionsof random variables X that are confined to some interval [0,B] with B>0,and that have a mean bounded by some prescribed bound mε[0,B], thedistribution, that maximizes the exponential moment Ee^(pX), is theon-off distribution that assigns probability

$\frac{m}{B}\mspace{14mu}{to}\mspace{14mu} B$and

$1 - {\frac{m}{B}\mspace{14mu} t\; o\mspace{14mu} 0.}$Accordingly, in the calculations to be presented later, the exponentialmoment Ee^(pX) ^(i) will be estimated by the quantity

$\begin{matrix}{{\mu\left( {{p;t},\sigma,\rho} \right)} = {{\frac{\rho\; t}{\sigma + {\rho\; t}}{\mathbb{e}}^{p{({\sigma + \;{p\; t}})}}} + \frac{\sigma}{\sigma + {\rho\; t}}}} \\{= {1 + {\frac{\rho\; t}{\sigma + \;{\rho\; t}}{\left( {{\mathbb{e}}^{p{({\sigma + \;{\rho\; t}})}} - 1} \right).}}}}\end{matrix}$

As for the specific considerations motivating specific calculations,recall first that the service target for a stream s of type τ is thatthe end-to-end queuing delay not exceed {hacek over (δ)}_(s) with aprobability greater than ε_(τ). Evidently, the main task is to identifythe probabilities for large queuing delays. Of course, the end-to-endqueuing delay along a route is simply the sum of the individual queuingdelays at each of the links along the route. Formally, let D_(j) be therandom queuing delay at link λ(j,s). Then Σ_(j)D_(j) is the end-to-endqueuing delay. Hence, if the end-to-end queuing delay exceeds {hacekover (δ)}_(s), then for some sequence of values d_(j)ε[0,∞) with0≦j<H(s), where Σ_(j)d_(j)={hacek over (δ)}_(s), D_(j) must be at leastas large as d_(j) for each j. In view of the simplifying approximationprocedure of treating the performance at different links as beingindependent, the corresponding probability will be approximated asΠ_(j)P(D_(j)≧d_(j)). Moreover, in view of the large-deviations procedureof approximating the probability of a union as the maximum of theindividual probabilities, the procedure here will be to make theapproximation

${{P\left( {{\sum\limits_{j}D_{j}} > {\overset{\Cup}{\delta}}_{s}} \right)} \approx {\sup\limits_{{{d \in {\lbrack{0,\infty})}^{H{(s)}}}:{\sum\; d}} = {\overset{\Cup}{\delta}}_{s}}{\prod\limits_{0 \leq j < {H{(s)}}}\;{P\left( {D_{j} \geq d_{j}} \right)}}}},$i.e. to pick the sequence d={d_(j)} to maximize the expressionΠ_(j)P(D_(j)≧d_(j)). In any case, most of the rest of the development ofthis approximation will be concerned with estimating the individualfactors P(D_(j)≧d_(j)).

In considering the queuing delay to a “test” packet of stream s of typeT in priority class k at a link l=λ(j,s) on its route, let time 0 be thetime at which the packet arrives at the queue for link l. Naturally,this test packet is delayed by all the type-τ packets in queue ahead ofthe test packet, as well as all the higher-priority packets that eitherare in queue ahead of the test packet or arrive later, but still beforethe test packet is served. As for the other WFQ types τ′ of class k thatare competing with type τ, these arrivals can also delay the test packeteven by arriving after the test packet, but only to the extent of thebandwidth allocated to these other types. Let t_(j) be the age of thebusy period, relative to classes k and higher, that is in progress attime 0. Let A_(>k) be the random amount of higher-priority traffic thatarrives at link l during the interval (−t_(j), d_(j)]. IfA_(>k)≧C(l)(t_(j)+d_(j)), then the link serves higher-priority trafficexclusively during this interval, unless the amount A_(>k) arrivesprimarily during the latter part of the interval (thereby allowing thelink to serve some lower-priority traffic before the bulk of the amountA_(>k) arrives). Within this relatively rare event of A_(>k)≧C(l)(t_(j)+d_(j)), however, the most likely pattern of arrival is close tothe pattern of a nearly constant arrival rate of A_(>k)/(t_(j)+d_(j)),which does not allow any lower-priority traffic to be served. Thus, withthis kind of large-deviations excuse, it is reasonable to presume that,whenever A_(>k)≧C(l) (t_(j)+d_(j)), no low-priority traffic is served,and, in particular, the test packet is delayed more than d_(j).

A more likely way of delaying the test packet more than d_(j), however,is to share the burden of occupying the link. The effective serviceS_(k)=C(l)(t_(j)+d_(j))−A_(>k) available to priority class k during theinterval (−t_(j), d_(j)], specifically, would be positive, but thisservice would be occupied by other class-k competitors of the testpacket. Let A_(τ) be the amount of arrivals of type τ during theinterval (−t_(j),0]. Similarly, let A_(k−τ) be the amount of traffic ofpriority class k, but outside type τ, that arrives during the interval(−t_(j),d_(j)]. So A_(k−τ) can be regarded as the “external” traffic ofclass k that competes with type τ and can contribute to the delay of thetest packet, unless the WFQ weights mitigate the influence of thisexternal traffic. Now, if A_(k−τ)≦(1−w(τ,l))S_(k), then there is atleast a decent chance that all of A_(k−τ) can contribute to the delay ofthe test packet (unless individual classes τ′ generate more than theirshare of the traffic). In a strict sense, one should consider allpossible subsets of T_(k)−{τ}, the set of WFQ types competing with typeτ, as the set of possible types whose every arrival contributes to thedelay of the test packet (so the types in the complement have evengreater arrivals, but these types in the complement contribute to thedelay of the test packet only their fair share in proportion tow(τ′,l)). As a rougher approximation, however, one can imagine the eventD_(j)≧d_(j) as arising mostly in just two ways: eitherA _(τ) +A _(k−τ) ≧S _(k)&A _(k−τ)≦(1−w(τ,l))S _(k),  (6)orA _(τ) ≧w(τ,l)S _(k)&A _(k−τ)>(1−w(τ,l)S _(k).  (7)

A complication arises in trying to estimate the joint probability of thecombination (6) with the techniques that have been described so far. Theproblem is that the techniques estimate probabilities of the form ofrandom variables being far above their means, but the combination (6)includes a condition of one random variable, A_(k−τ), being not too farabove its mean. Recall now that the basic technique for estimating theprobability P(X≧x) is with an exponential moment of the form Ee^(p(X−x))with p≧0. Naturally, the tightest bound of this form, that can beobtained on the probability, is to take p to minimize the expressionEe^(p(X−x)). Letting Λ_(X)(p)=log(Ee^(pX)), notice that the minimizingvalue of p is the one that makes Λ_(X)′(p)=x. It turns out that, if X isa sum of independent random variables X_(i) and if each of these randomvariables has a continuous distribution (though this is not thesituation of the analysis here), then the most likely values of theindividual random variables X_(i), given that the sum X≧x, are given byx_(i)=Λ_(X) _(i) ′(p), where p is the minimizing value that makesΛ_(X)′(p)=x. The idea is to use this minimizing value of p to identifythe most likely values of the components of a sum that is barelyattaining a particular rare value.

Pursuing this idea, it is useful to introduce the following quantities.First, let μ′(p;t,σ,ρ)=ρte^(p(σ+ρt)), the derivative of μ(p;t,σ,ρ) withrespect top. Then, let x(p;t,σ,ρ)=μ′(p;t,σ,ρ)/μ(p;t,σ,ρ). Next, for anystream s′, let A_(s′)(p;t)=x(p;t,σ_(s′),ρ_(s′)). Also, for any streams′, let H(s′) be the set of links traversed by s′. Then, let

${{A_{\tau}\left( {{p;l},t} \right)} = {\sum\limits_{s^{\prime} \in {S_{\tau}:{l \in {H{(s^{\prime})}}}}}{A_{s^{\prime}}\left( {p;t} \right)}}},{{A_{k - \tau}\left( {{p;l},t} \right)} = {\sum\limits_{\tau^{\prime} \in {T_{k} - {\{\tau\}}}}{\sum\limits_{s^{\prime} \in {S_{\tau}:{l \in {H{(s^{\prime})}}}}}{A_{s^{\prime}}\left( {p;t} \right)}}}},{and}$${A_{> k}\left( {{p;l},t} \right)} = {\sum\limits_{k^{\prime} \in {K:{k^{\prime} > k}}}{\sum\limits_{\tau^{\prime} \in T_{k^{\prime}}}{\sum\limits_{s^{\prime} \in {S_{\tau^{\prime}}:{l \in {H{(s^{\prime})}}}}}{A_{s^{\prime}}{\left( {p;t} \right).}}}}}$

With the aid of these quantities, consider the eventA_(τ)+A_(k−τ)≧S_(k), a basic event that occurs in the definition of thecombination (6). Notice that this basic event is equivalent toA_(τ)+A_(k−τ)+A_(>k)≧C(l)(t_(j)+d_(j)). Let p be the correspondingminimizing value, the value that minimizes Ee^(p[A) ^(τ) ^(+A) ^(k−τ)^(A) ^(>k) ^(−C(l)(t) ^(j) ^(+d) ^(j) ^()]), or, more precisely, theversion of this expectation that is based on the on-off distributionsfor the individual streams making up the arrival quantities A_(τ),A_(k−τ), and A_(>k). For this minimizing value p, make note of thecorresponding values A_(k−τ)(p;l,t_(j)+d_(j)) andA_(>k)(p;l,t_(j)+d_(j)), and check whetherA _(k−τ)(p;l,t _(j) +d _(j))≦(1−w(τ,l))[C(l)(t _(j) +d _(j))−A_(>k)(p;l,t _(j) +d _(j))].  (8)

If so, then the combination (6) makes the dominant contribution toP(D_(j)≧d_(j)); otherwise, the other combination (7) is the dominantcontributor. In this way, one of these two contributors can beidentified as the appropriate estimate of P(D_(j)≧d_(j)), at least ifthe quantities d_(j) and t_(j) are specified.

Now, if the second contributor turns out to be the dominant one, thenthat contributor is the probability of the intersection of two rareevents, but these two events are dependent. So the probability of theintersection is not just the product of the probabilities. To handle thedependence, one must simply consider all relevant values a for theamount A_(>k) that enters both of the conditions of (7). Of course,values a, that are below the mean A_(>k)(0;t_(j)+d_(j),l) of A_(>k) arenot relevant toward contributing the most likely situations for delayingthe test packet more than d_(j), so attention can be restricted toa≧A_(>k)(0;t_(j)+d_(j),l). Now, given A_(>k)=a≧A_(>k)(0;t_(j)+d_(j),l),the random variables A_(τ) and A_(k−τ) are independent. Accordingly, fora given value a of A_(>k), which corresponds toS_(k)(a)=C(l)(t_(j)+d_(j))−a, the usual techniques can be used toestimateP(A _(τ) >w(τ,l)S _(k)(a)&A _(k−τ)>(1−w(τ,l))S _(k)(a)),which is then the estimate for the conditional probability ofD_(j)>d_(j), given A_(>k)=a. Hence, multiplying by P(A_(>k)=a), which isestimated by P(A_(>k)≧a) for a≧A_(>k) (0;t_(j)+d_(j)) in thelarge-deviations procedure, and then maximizing over a, one obtains thefinal estimate for P(D_(j)≧d_(j)), at least when based on the idea ofthe busy period having age t_(j).

Of course, the age t_(j) of the busy period could be anything, at leastin principle. Continuing with the large-deviations idea of approximatingthe probability of a union with the maximum of the individualprobabilities, the actual estimate of P(D_(j)≧d_(j)) should be themaximum, over all choices of t_(j)ε[0,∞) of the values obtained for eachof these choices. Naturally, as was stated when the D_(j) wereintroduced, the final estimate of P(Σ_(j)D_(j)>{hacek over (δ)}_(s)) isobtained by maximizing over all choices of the decomposition of {hacekover (δ)}_(s) into the components d_(j).

It is convenient to introduce some auxiliary functions that representvarious exponential moments for certain sums of on-off random variablesthat are taken to represent certain random arrivals. Explicitly, for anyservice type τ, and any link lεL, for any p,t≧0, let

${\mu_{\tau}\left( {{p;t},l} \right)} = {\prod\limits_{s \in {S_{\tau}:{l \in {H{(s)}}}}}\;{{\mu\left( {{p;t},\sigma_{s},\rho_{s}} \right)}.}}$

-   -   Similarly, for any priority class kεK, and any link lεL, for any        p, t≧0, let

${\mu_{k}\left( {{p;t},l} \right)} = {\prod\limits_{\tau \in T_{k}}\;{{\mu_{\tau}\left( {{p;t},l} \right)}.}}$

-   -   Next, for any kεK, for any lεL, for any p, t≧0, let

${\mu_{> k}\left( {{p;t},l} \right)}{\prod\limits_{k^{\prime} \in {K:{k^{\prime} > k}}}\;{{\mu_{k^{\prime}}\left( {{p;t},l} \right)}.}}$

-   -   Finally, for any kεK, for any τεT_(k) for any lεL, for any p,        t≧0, let

${\mu_{k - \tau}\left( {{p;t},l} \right)} = {\prod\limits_{\tau^{\prime} \in {T_{k} - {\{\tau\}}}}\;{{\mu_{\tau^{\prime}}\left( {{p;t},l} \right)}.}}$

Basically, μ_(τ)(p;t_(j),l) will be used to estimate Ee^(pA) ^(τ, μ)_(k−τ)(p;t_(j)+d_(j),l) will be used to estimate Ee^(pA) ^(k−τ) , andμ_(>k)(p;t_(j)+d_(j),l) will be used to estimate Ee^(pA) ^(>k) .

The next step is to introduce a certain combination of these quantities,where this combination would serve as the estimate of P(D_(j)>d_(j)) ifthe contribution of (6) would turn out to be dominant. More precisely,for any kεK, for any τεT_(k), for any lεL, for any p,t,d≧0, let{tilde over(μ)}_(τ)(p;t,d,l)=μ_(τ)(p;t;l)·μ_(k−τ)(p;t+d,l)·μ_(>k)(p;t+d,l)e^(−pC(l)(t+d)).

Next, for any kεK, for any τεT_(k), for any lεL, for any t,d≧0, let

${{p_{\tau}\left( {t,d,l} \right)} = {\arg\mspace{14mu}{\min\limits_{p}\mspace{14mu}{{\overset{\sim}{\mu}}_{\tau}\left( {{p;t},d,l} \right)}}}},$the value of p that minimizes {tilde over (μ)}_(τ)(p;t,d,l). Naturally,the minimum value itself is then {tilde over (μ)}_(τ)(t,d,l)={tilde over(μ)}_(τ)(p_(τ)(t,d,l);t,d,l). Now, the quantity, that summarizes whetherthe condition (8) holds, is

$\begin{matrix}{{\theta_{\tau}\left( {t,d,l} \right)} = {\left( {1 - {w\left( {\tau,l} \right)}} \right)\left\lbrack {{{C(l)}\left( {t + d} \right)} -} \right.}} \\{\left. {A_{> k}\left( {{{p_{\tau}\left( {t,d,l} \right)};l},{t + d}} \right)} \right\rbrack -} \\{{A_{k - \tau}\left( {{{p_{\tau}\left( {t,d,l} \right)};l},{t + d}} \right)}.}\end{matrix}$

Specifically, if Θ_(τ)(t,d,l)≧0, then {hacek over (μ)}_(τ)(t,d,l) is tobe used to estimate P(D_(j)≧d_(j)), at least when t is regarded as theage of the busy period.

To deal with the other possibility, however, some additional quantitiesmust be introduced. First, corresponding to the idea of estimatingP(A_(>k)>a), define, for any kεK, for any lεL, for any p,t≧0, for anya≧A_(>k)(0;t,l), π_(>k)(a;p,t,l)=μ_(>k)(p;t,l)e^(pa). Then letp_(>k)(a;t,l)=arg minπ_(>k)(a;p,t,l), the minimizing value of p, so theminimum value itself is π _(>k)(a;t,l)=π_(>k)(a;t,l),t,l).

The next quantities are for estimating certain conditionalprobabilities. Thus, for any service type τ, for any link lεL, for anyp,t≧0, and for any y, let π_(τ)(p;t,y,l)=μ_(τ)(p;t,l)e^(−py). Then, forany service type τ, for any link lεL, for any t≧0, and for any y, let π_(τ)(t,y,l)=min_(p)π_((p;t,y,l)). Similarly, for any kεK, for anyτεT_(k), for any lεL, for any p,t≧0, for any y, letπ_(k−τ)(p;t,y,l)=μ_(k−τ)(p;t,l)e^(−py), and let π_(k−τ)(t,y,l)=min_(p)π_(k−τ)(p;t,y,l).

The next step is to multiply these estimates of conditional andunconditional probabilities. Formally, for any kεK, for any τεT_(k), forany lεL, for any t,d≧0, for any a≧A_(>k)(0,t+d,l), let

$\begin{matrix}{{{\overset{\sim}{\pi}}_{\tau}\left( {a,t,d,l} \right)} = {{{\overset{\_}{\pi}}_{k - \tau}\left( {{t + d},{\left( {1 - {w\left( {\tau,l} \right)}} \right)\left\lbrack {{{C(l)}\left( {t + d} \right)} - a} \right\rbrack},l} \right)} \cdot}} \\{{{\overset{\_}{\pi}}_{\tau}\left( {t,{{w\left( {\tau,l} \right)}\left\lbrack {{{C(l)}\left( {t + d} \right)} - a} \right\rbrack},l} \right)} \cdot} \\{{{\overset{\_}{\pi}}_{> k}\left( {{a;{t + d}},l} \right)}.}\end{matrix}$ Then  let${{\hat{\pi}}_{\tau}\left( {t,d,l} \right)} = {\sup\limits_{a \geq {A_{> k}{({{0;l},{t + d}})}}}{{{\overset{\sim}{\pi}}_{\tau}\left( {a,t,d,l} \right)}.}}$

The significance of this quantity is that, if Θ_(τ)(t,d,l)<0, then π_(τ)(t,d,l) is to be used to estimate P(D_(j)≧d_(j)), at least when t isregarded as the age of the busy period.

The next step is to specify explicitly the version of the quantity thatdepends on Θ_(τ)(t,d,l). Accordingly, for any service type τ, for anylink lεL, for any t,d≧0, let

${q_{\tau}\left( {t,d,l} \right)} = \left\{ \begin{matrix}{{\overset{\Cup}{\mu}}_{\tau}\left( {t,d,l} \right)} & {{{if}\mspace{14mu}{\theta_{\tau}\left( {t,d,l} \right)}} \geq 0} \\{{\hat{\pi}}_{\tau}\left( {t,d,l} \right)} & {{{if}\mspace{14mu}{\theta_{\tau}\left( {t,d,l} \right)}} < 0.}\end{matrix} \right.$

The next step is to maximize over t. Thus, let q_(τ)(d,l)=sup_(r≧0)q_(τ)(t,d,l), which is the estimate forP(D_(j)>d_(j)) without any disclaimers about the age of the busy period.

Finally, for any service type τ, for any stream sεS_(τ), the estimatefor the probability of the end-to-end queuing delay of stream sexceeding any delay δ>0 is given by

${{\overset{\sim}{q}}_{s}(\delta)} = {\sup\limits_{{{{d \in {\lbrack{0,\infty})}^{H{(s)}}}:{\sum\; d}} = \delta}\;}{\prod\limits_{0 \leq j < {H{(s)}}}{{\overset{\_}{\; q}}_{\tau}{\left( {d_{j},{\lambda\left( {j,s} \right)}} \right).}}}}$

In particular, the estimate for the probability of the end-to-endqueuing delay of stream s exceeding {hacek over (δ)}_(s) is {tilde over(q)}_(s)({hacek over (δ)}_(s)).

Taking into consideration that the on-line calculations in anadmission-control procedure should be reasonably fast, the following isa simpler version of the calculation scheme. As with the GADcalculations, the idea is to introduce some isolating thresholds, withthe purpose that the on-line computations during an admission decisionshould only be checking whether the admission of the new session wouldcontinue to respect the isolating thresholds, where the off-linecomputations, that determine the values for these thresholds, would bechoosing these values in such a way that, as long as the thresholds arerespected, all the admitted sessions would be receiving service thatmeets their standards. For definiteness, the isolating thresholds herewill be the same as for the GAD case: for each priority class k, a boundα_(k) on the occupancy due to priority class k, and for each servicetype τ, a bound T_(τ) on the burst times σ_(s)/ρ_(s) of all the streamss admitted as type τ. The on-line computations for admission control arethen very quick, because they involve only two kinds of simple checks:first checking that a stream s requesting admission satisfies theburst-time bound T_(τ), and then checking that, for each hop on thestream's route, the relevant occupancy bound α_(k) continues to berespected at that hop. The next part of the discussion identifies theoff-line computations that need to be done for dealing with theisolating thresholds α_(k) and T_(τ).

Mainly, the off-line computations here follow the same pattern as in thediscussion above, except for a few modifications. Indeed, the principalchange is to revise the definition of the function μ_(τ)(p;t,l), thatsummarizes the type-d traffic arriving at a link lεL, to reflect thefact that, in the off-line situation, one does not know the details ofthe individual streams. Instead, one only has the aggregate bounds.Accordingly, in this situation, the appropriate definition of thequantity is μ_(τ)(p;t,l)=μ(p,t,α_(k), w(τ,l)C(l)T_(τ),α_(k)w(τ,l)C(l)),where kεK is the priority class of service type τ. Similarly, theanalogous changes should be made to the definitions of A_(τ)(p;l,t),A_(k−τ)(p;l,t), and A_(>k)(p;l,t). Explicitly, the revised definitionsare the following.

${{A_{\tau}\left( {{p;l},t} \right)} = {\frac{\partial}{\partial p}{\log\left( {\mu_{\tau}\left( {{p;t},l} \right)} \right)}}},{{A_{k - \tau}\left( {{p;l},t} \right)} = {\sum\limits_{\tau^{\prime} \in \;{T_{k} - {\{\tau\}}}}{A_{\tau^{\prime}}\left( {{p;l},t} \right)}}},{and}$${A_{> k}\left( {{p;l},t} \right)} = {\sum\limits_{k^{\prime} \in \; K}{\sum\limits_{\tau^{\prime} \in {??}_{k^{\prime}}}{{A_{\tau^{\prime}}\left( {{p;l},t} \right)}.}}}$

After these preliminary changes the rest of the calculations of theearlier discussion remain unchanged until after the quantities q_(τ)(d,l) are identified, which basically characterize queuing delays atthe individual links. At this point, the remaining task is to combinethe link delays into end-to-end delays, which, in the earlierdiscussion, was represented by the calculation of the quantities {tildeover (q)}_(s)({hacek over (δ)}_(s)) and the comparison with the targetsε_(τ). Here, however, the individual streams s, that will be present atany one instant, are not known. Accordingly, the off-line computationmust perform these comparisons for all possible routes. Overall, thefull task for the off-line computation is to tune the isolatingthresholds to be as “permissive” as possible, in the sense of tending tolead to the admission of more of the sessions that are likely to requestadmission, while missing none of the service targets for delay.

Some illustrative concrete calculations will now be presented, based onthe statistical calculations that have just been described, where thevalues to be obtained for the isolating parameters α_(k) will turn outto differ from the values obtained in the earlier illustrative concretecalculations aiming at worst-case targets (and the differences will bein the direction of admitting more sessions). Yet, the meaning of theseparameters as bounds on certain sums of the rate parameters of thestreams being admitted to the network is the same. The calculations arefor the same network as above, with one difference being the switch fromworst-case targets for the service types to statistical targets forthese same service types. Accordingly, the basic parameter values, thatdefine the network environment, such as the link capacities C(l), thedelay targets δ_(τ), and the bound h on the hop count of any route, willbasically be the same with the one exception being that now, since someof the service targets are statistical, there will be some tolerancesε_(τ) for the probabilities of missing the delay targets δ_(τ).

Now, in a real network, the expectation is that deterministic targetswill be employed for higher priorities, while statistical targets willbe employed for lower priorities (except that the lowest priority wouldtypically have no target at all). To illustrate the implications of thestatistical calculations, the following discussion will be phrased as ifall the higher-priority service types, EF, AF0, and AF1, havestatistical targets. For definiteness, the corresponding tolerances willbe taken to be ε_(EF)=10⁻⁶, ε_(AF0)=10⁻³, and ε_(AF1)=10⁻², though theprecise values will turn out not to matter in the calculations to bepresented here. If the above calculations were followed in completedetail, then the resulting values for the occupancy thresholds α_(k)would depend on the tolerances ε_(τ), and, as long as the sum of theoccupancy thresholds remained below the value 1, the thresholds wouldrise as the tolerances rose. Yet, the complexity of the calculationswould tend to hide the main point to be made here that, by adopting thestatistical approach, one can “justify” the admission of more sessions.Indeed, this point can be made with a simplification of the detailedcalculations, so it is this simplified calculation that will be followedhere, even though the simplified calculation ignores the values of thetolerances ε_(τ).

Basically, the simplified calculation is just the application of themore detailed calculation to the special case of zero values for all thetolerances. So occupancy thresholds α_(k), that are adequate accordingto the simplified calculation, will certainly be adequate for satisfyingstrictly positive tolerances. The simplification of this special case ofzero tolerances is that, instead of dealing with all the minima, maxima,and exponential moments, one can simply deal with worst cases. Incontrast to the earlier worst-case calculations for GADs, however, thesimplified “worst-case” calculations here inherit the assumption of nogrowth in a stream's burstiness as it traverses its route. Thus, it isthis assumption that allows the statistical calculations to “justify”the admission of more streams for the special case of zero tolerances,where these calculations are equivalent to the version of worst-casecalculations that assume that there is no growth in burstiness along astream's route.

Now, for the network being considered, the point to be made by thesecalculations is that the statistical calculations can justify raisingthe isolating thresholds from α_(EF)=0.1 and α_(AF)=0.06 to, say,α_(EF)=0.5 and α_(AF)=0.38. Ultimately, of course, one has thepossibility of raising one at the cost of dropping the other, so thevalues just identified can be changed to adapt to different expectationsfor the traffic mix to be served. As for establishing the adequacy ofthese values, under the assumption of burstiness parameters that areimpervious to queuing variations, consider first the implications forthe high-priority EF traffic. Under the assumptions being imposed, theEF traffic, that can arrive at any given link l, can have a burst ofsize no greater than α_(EF)C(l)T_(EF). Thus, as long as α_(EF)≦1, sothat high-priority queues cannot grow any greater than would be producedby a maximal burst, the maximum queuing delay that can be suffered by anEF packet at a link l is no greater thanα_(EF)C(l)T_(EF)/C(l)=α_(EF)T_(EF), where use is made here of thefurther assumption in the statistical calculations that no leftoverlow-priority packet can contribute any delay to higher-priority traffic.Evidently, with the choices of the parameter values for the network, themaximal end-to-end delay for an EF packet is bounded, in milliseconds,by {circumflex over (Δ)}+h(α_(EF)T_(EF)+ J)=10.004+20α_(EF) which isalways less than δ_(EF)=125 ms, as long as α_(EF)≦1. In particular, theEF service target is met with the value α_(EF)=0.5 advertised above.

The analysis for the lower-priority AF service types is morecomplicated. Suppose a “test” packet of some AF type τ arrives at a linkl at time 0 as part of a burst of type-τ traffic, along with a burst ofEF traffic, suppose that this burst begins a busy period for the link inwhich all the traffic streams are generating traffic at the rates givenby their rate parameters, and suppose that the test packet loses all the“tie-breaking” procedures to all the competing packets in the initialburst. This is the situation that creates the greatest delay for thetest packet, assuming that the link is not “oversubscribed”, i.e. aslong as α_(EF)+α_(AF)≦1. Of course, the link spends the initial phase ofthe busy period serving EF traffic alone. The size of the initial burstof EF traffic could be as large as α_(EF)C(l)T_(EF), and with further EFtraffic arriving at rate α_(EF)C(l), this initial phase could last aslong as

${\hat{D}}_{> {AF}} = {\frac{\alpha_{EF}{C(l)}T_{EF}}{{C(l)} - {\alpha_{EF}{C(l)}}} = {\frac{\alpha_{EF}T_{EF}}{1 - \alpha_{EF}}.}}$

After this phase, the link can serve the lower-priority type-τ traffic,but, if the EF traffic continues to arrive at its maximal allowed rate,and if the other AF service type occupies its share of the link'sremaining capacity, then the link will be delivering service to thetype-τ traffic at rate w(τ,l)C(l)(1−α_(EF)). In particular, the initialburst of type-τ traffic, of size no greater than α_(AF)C(l)T_(τ), willhave been served within a time

$\frac{\alpha_{AF}{C(l)}T_{\tau}}{{w\left( {\tau,l} \right)}{C(l)}\left( {1 - \alpha_{EF}} \right)} = \frac{\alpha_{AF}T_{\tau}}{{w\left( {\tau,l} \right)}\left( {1 - \alpha_{EF}} \right)}$after {circumflex over (D)}_(>AF). Since the test packet is part of thisburst, the maximum delay, that a type-τ packet could experience on asingle link, is bounded by

${{{\hat{D}}_{> {AF}} + \frac{\alpha_{AF}T_{\tau}}{{w\left( {\tau,l} \right)}\left( {1 - \alpha_{EF}} \right)}} = {\frac{\alpha_{EF}T_{EF}}{1 - \alpha_{EF}} + \frac{\alpha_{AF}T_{\tau}}{{w\left( {\tau,l} \right)}\left( {1 - \alpha_{EF}} \right)}}};$provided that α_(EF)+α_(AF)≦1.

The next step is to use this information to identify bounds onend-to-end delays for AF traffic. First, for a particular type τ of AFtraffic, the maximal end-to-end delay in milliseconds is

$\begin{matrix}{{\hat{D}}_{\tau} = {\hat{\Delta} + {h\left\lbrack {\overset{\_}{J} + \frac{\alpha_{EF}T_{EF}}{1 - \alpha_{EF}} + \frac{\alpha_{AF}T_{\tau}}{{w\left( {\tau,l} \right)}\left( {1 - \alpha_{EF}} \right)}} \right\rbrack}}} \\{{= {30.004 + \frac{20\alpha_{AF}T_{\tau}}{w\left( {\tau,l} \right)}}},}\end{matrix}$where use has been made of the known parameter values, including thechoice α_(EF)=0.5. In particular,

${{\hat{D}}_{{AF}\; 0} = {30.004 + \frac{200\alpha_{AF}}{0.6}}},{while}$${\hat{D}}_{{AF}\; 1} = {{30.004 + \frac{1000\alpha_{AF}}{0.4}} = {30.004 + {2500{\alpha_{AF}.}}}}$

On the basis of these expressions, one can choose α_(AF) appropriately.First, notice that {circumflex over (D)}_(AF0)≦500=δ_(AF0) as long asα_(AF)≦1. On the other hand, {circumflex over (D)}_(AF1) needs α_(AF) tobe rather smaller to avoid exceeding δ_(AF1)=1000 ms. Indeed, α_(AF) hasto be strictly smaller than 0.4. In particular, the value α_(AF)=0.38advertised above is adequate. One point to notice, however, is that, atleast when α_(EF) is as high as 0.5, the value of α_(AF) must berestricted to be so small as not fully to occupy the link, in the sensethat α_(AF)+α_(EF) must be strictly smaller than 1. The more importantpoint, though, is that based on the statistical calculations, one can“justify” raising the occupancy bounds significantly (to α_(EF)=0.5 andα_(AF)=0.38 in this example from the values α_(EF)=0.1 and α_(AF)=0.06that could be justified by the worst-case calculations).

FIG. 1 is a flow diagram illustrating operations performed at a devicein accordance with a representative embodiment. Additional, fewer, ordifferent operations may be performed depending on the particularimplementation. In addition, the operations may be performed in analternative order depending on the particular embodiment. In anoperation 100, a request for a new session in a communications networkis received at the device. In an embodiment, the request includes apriority class, a service type, and session characteristics. In anoperation 110, an occupancy threshold value associated with the priorityclass is identified. A burst time threshold value associated with thepriority class and the service type is identified in an operation 120.In a representative embodiment, both the occupancy threshold value andthe burst time threshold value are predetermined. In an operation 130, atarget delay threshold value associated with the priority class and theservice type is identified. In an operation 140, an end-to-end delayvalue is calculated based on the identified occupancy threshold value,the burst time threshold value, and the session characteristics. In anoperation 150, the calculated end-to-end value is compared with theidentified target delay threshold value to determine if a delaythreshold is satisfied. In an operation 160, the new session in thecommunications network is admitted if the delay threshold is satisfied.

FIG. 2 is a flow diagram illustrating operations performed at a devicein accordance with a representative embodiment. Additional, fewer, ordifferent operations may be performed depending on the particularimplementation. In addition, the operations may be performed in analternative order depending on the particular embodiment. In anoperation 200, a request for a new session in a communications networkis received at the device. In a representative embodiment, the requestincludes a priority class, a service type, and session characteristics.A burst time threshold value associated with the priority class and theservice type is identified in an operation 210. In an operation 220, aburst time value calculated for the new session based on the sessioncharacteristics is compared with the identified burst time thresholdvalue to determine if a burst time threshold is satisfied. An occupancythreshold value associated with the priority class is identified in anoperation 230. In a representative embodiment, both the identifiedoccupancy threshold value and the identified burst time threshold valueare predetermined. In an operation 240, it is determined if theidentified occupancy threshold value is satisfied at each hop on a routeidentified for the new session based on the session characteristics. Inan operation 250, the new session in the communications network isadmitted if the burst time threshold is satisfied and the identifiedoccupancy threshold value is satisfied at each hop.

While there has been described a method of calculating admission controlin an internet protocol network, it will be apparent to those skilled inthe art that modifications and variations are possible without deviatingfrom the teachings and broad scope of the present invention which shallbe limited solely by the scope of the claims appended hereto.

1. A method for providing admission control in a communications network, the method comprising: at a first device, receiving a request for a new session in a communications network, the request comprising a priority class, a service type, and session characteristics; identifying an occupancy threshold value associated with the priority class, wherein the occupancy threshold value is predetermined; identifying a burst time threshold value associated with the priority class and the service type, wherein the burst time threshold value is predetermined; identifying a target delay threshold value associated with the priority class and the service type; calculating an end-to-end delay value based on the identified occupancy threshold value, the burst time threshold value, and the session characteristics; comparing the calculated end-to-end delay value with the identified target delay threshold value to determine if a delay threshold is satisfied; and admitting the new session in the communications network if the delay threshold is satisfied.
 2. The method of claim 1, further comprising rejecting the new session if the delay threshold is not satisfied.
 3. The method of claim 1, further comprising: identifying a target delay variation threshold value associated with the priority class and the service type; calculating an end-to-end delay variation value based on the identified occupancy threshold value, the burst time threshold value, and the session characteristics; comparing the calculated end-to-end delay value variation with the identified target delay variation threshold value to determine if a delay variation threshold is satisfied; and admitting the new session in the communications network if the delay variation threshold is satisfied.
 4. The method of claim 3, further comprising rejecting the new session if the delay variation threshold is not satisfied.
 5. The method of claim 3, wherein the occupancy threshold value is predetermined to insure that a worst case end-to-end delay variation value satisfies the delay variation threshold for all service types.
 6. The method of claim 3, wherein the occupancy threshold value is predetermined to insure that a statistical end-to-end delay variation value satisfies the delay variation threshold for all service types.
 7. The method of claim 3, wherein the occupancy threshold value for a first priority class is predetermined to insure that a worst case end-to-end delay variation value satisfies the delay variation threshold for all service types, and further wherein the occupancy threshold value for a second priority class is predetermined to insure that a statistical end-to-end delay variation value satisfies the delay variation threshold for all service types.
 8. The method of claim 1, wherein the calculated end-to-end delay value includes a delay value resulting from a higher priority class of the priority class.
 9. The method of claim 8, wherein the calculated end-to-end delay value includes a second delay value resulting from a higher service type of the service type.
 10. The method of claim 1, wherein the occupancy threshold value is predetermined to insure that a worst case end-to-end delay value satisfies the delay threshold for all service types.
 11. The method of claim 1, wherein the occupancy threshold value is predetermined to insure that a statistical end-to-end delay value satisfies the delay threshold for all service types.
 12. The method of claim 1, wherein the occupancy threshold value for a first priority class is predetermined to insure that a worst case end-to-end delay value satisfies the delay threshold for all service types, and further wherein the occupancy threshold value for a second priority class is predetermined to insure that a statistical end-to-end delay value satisfies the delay threshold for all service types.
 13. A method for providing admission control in a communications network, the method comprising: at a first device, receiving a request for a new session in a communications network, the request comprising a priority class, a service type, and session characteristics; identifying a burst time threshold value associated with the priority class and the service type, wherein the burst time threshold value is predetermined; comparing a burst time value calculated for the new session based on the session characteristics with the identified burst time threshold value to determine if a burst time threshold is satisfied; identifying an occupancy threshold value associated with the priority class, wherein the occupancy threshold value is predetermined; determining if the identified occupancy threshold value is satisfied at each hop on a route identified for the new session based on the session characteristics; and admitting the new session in the communications network if the burst time threshold is satisfied and the identified occupancy threshold value is satisfied at each hop.
 14. The method of claim 13, further comprising calculating the occupancy threshold value.
 15. The method of claim 14, wherein calculating the occupancy threshold value for a first priority class comprises: identifying a target delay threshold value associated with the first priority class and the service type; calculating a worst case end-to-end delay variation value; and selecting a value for the occupancy threshold value for the first priority class such that the calculated worst case end-to-end delay variation value satisfies the identified target delay threshold value.
 16. The method of claim 15, wherein calculating the occupancy threshold value for a second priority class comprises: identifying a second target delay threshold value associated with the second priority class and the service type; calculating a statistical end-to-end delay variation value; and selecting a second value for the occupancy threshold value for the second priority class such that the calculated statistical end-to-end delay variation value satisfies the identified second target delay threshold value.
 17. The method of claim 14, wherein calculating the occupancy threshold value comprises: identifying a target delay threshold value associated with the priority class and the service type; calculating a statistical end-to-end delay variation value; and selecting a value for the occupancy threshold value such that the calculated statistical end-to-end delay variation value satisfies the identified target delay threshold value. 